Communication networks may bottleneck at a point in the network that receives more traffic than it can pass. In other words, at that point in the network, there is not sufficient downstream bandwidth to pass all of the traffic at once. In such cases, a decision must be made as to the manner in which bandwidth will be allocated among various incoming traffic flows. Typical systems do not provide a robust bandwidth allocation solution for allocating bandwidth among the various incoming traffic flows.